package com.ruoyi.common.core.domain;

import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;

/**
 * 账单明细对象 sjmc_sys_bill_detail
 * 
 * @author ruoyi
 * @date 2022-06-18
 */
public class SjmcSysBillDetailCode extends BaseEntity
{
    public SjmcSysBillDetailCode(){};
    private static final long serialVersionUID = 2L;

    /** $column.columnComment */
    private Long id;

    /** 客户id */
    @ApiModelProperty(value="客户id",name="SjmcSysBillDetail$userId")
    @Excel(name = "客户id")
    private Long userId;

    /** 充值 */
    @ApiModelProperty(value="充值",name="SjmcSysBillDetail$recharge")
    @Excel(name = "充值")
    private BigDecimal recharge;

    /** 提现 */
    @ApiModelProperty(value="提现",name="SjmcSysBillDetail$withdraw")
    @Excel(name = "提现")
    private BigDecimal withdraw;

    /** 个人业绩 */
    @ApiModelProperty(value="个人业绩",name="SjmcSysBillDetail$personalPerformance")
    @Excel(name = "个人业绩")
    private BigDecimal personalPerformance;

    /** 个人直推 */
    @ApiModelProperty(value="个人直推",name="SjmcSysBillDetail$personalPush")
    @Excel(name = "个人直推")
    private BigDecimal personalPush;

    /** 团队业绩 */
    @ApiModelProperty(value="团队业绩",name="SjmcSysBillDetail$teamPerformance")
    @Excel(name = "团队业绩")
    private BigDecimal teamPerformance;

    /** 团队奖励 */
    @ApiModelProperty(value="团队奖励",name="SjmcSysBillDetail$teamRewards")
    @Excel(name = "团队奖励")
    private BigDecimal teamRewards;

    /** 团队平级奖励 */
    @ApiModelProperty(value="团队平级奖励",name="SjmcSysBillDetail$teamLevelReward")
    @Excel(name = "团队平级奖励")
    private BigDecimal teamLevelReward;

    /** 团队满额总人数 */
    @ApiModelProperty(value="团队满额总人数",name="SjmcSysBillDetail$team")
    @Excel(name = "团队满额总人数")
    private Integer team;

    /** 团队激活总人数 */
    @ApiModelProperty(value="团队激活总人数",name="SjmcSysBillDetail$activation")
    @Excel(name = "团队激活总人数")
    private Integer activation;

    /** vc->余额 */
    @ApiModelProperty(value="vc->余额",name="SjmcSysBillDetail$vcBalance")
    @Excel(name = "vc->余额")
    private BigDecimal vcBalance;

    /** 余额->vc */
    @ApiModelProperty(value="余额->vc",name="SjmcSysBillDetail$balanceVc")
    @Excel(name = "余额->vc")
    private BigDecimal balanceVc;

    /** 转账（余额）转出是负数，转入是正数 */
    @ApiModelProperty(value="转账",name="SjmcSysBillDetail$transferBalance")
    @Excel(name = "转账", readConverterExp = "余=额")
    private BigDecimal transferBalance;

    /** 转账（vc）转出是负数，转入是正数 */
    @ApiModelProperty(value="转账",name="SjmcSysBillDetail$transferVc")
    @Excel(name = "转账", readConverterExp = "v=c")
    private BigDecimal transferVc;

    /** 转账（pc）转出是负数，转入是正数 */
    @ApiModelProperty(value="转账",name="SjmcSysBillDetail$transferPc")
    @Excel(name = "转账", readConverterExp = "p=c")
    private BigDecimal transferPc;

    /** 转账 线上券 */
    @ApiModelProperty(value="转账 线上券",name="SjmcSysBillDetail$transferOnline")
    @Excel(name = "转账 线上券")
    private BigDecimal transferOnline;

    /** 转账 线下券 */
    @ApiModelProperty(value="转账 线下券",name="SjmcSysBillDetail$transferOffline")
    @Excel(name = "转账 线下券")
    private BigDecimal transferOffline;

    /** ftc买卖 转出是负数，转入是正数 */
    @ApiModelProperty(value="ftc买卖 转出是负数，转入是正数",name="SjmcSysBillDetail$transferFtc")
    @Excel(name = "ftc买卖 转出是负数，转入是正数")
    private BigDecimal transferFtc;

    /** 资产拼团预约手续费 预约正数 退还负数 */
    @ApiModelProperty(value="资产拼团预约手续费 预约正数 退还负数",name="SjmcSysBillDetail$assetGroupHandling")
    @Excel(name = "资产拼团预约手续费 预约正数 退还负数")
    private BigDecimal assetGroupHandling;

    /** 产品拼团预约手续费 预约正数 退还负数 */
    @ApiModelProperty(value="产品拼团预约手续费 预约正数 退还负数",name="SjmcSysBillDetail$productGroupHandling")
    @Excel(name = "产品拼团预约手续费 预约正数 退还负数")
    private BigDecimal productGroupHandling;

    /** 转入预留钱包 */
    @ApiModelProperty(value="转入预留钱包",name="SjmcSysBillDetail$reservedWalletIn")
    @Excel(name = "转入预留钱包")
    private BigDecimal reservedWalletIn;

    /** 预留钱包提现 */
    @ApiModelProperty(value="预留钱包提现",name="SjmcSysBillDetail$reservedWalletOut")
    @Excel(name = "预留钱包提现")
    private BigDecimal reservedWalletOut;

    /** 预留兑换活动资产 */
    @ApiModelProperty(value="预留兑换活动资产",name="SjmcSysBillDetail$reservedAvtiveVc")
    @Excel(name = "预留兑换活动资产")
    private BigDecimal reservedAvtiveVc;

    /** 运营中心id */
    @ApiModelProperty(value="运营中心id",name="SjmcSysBillDetail$operationId")
    @Excel(name = "运营中心id")
    private Long operationId;

    /** 分区 */
    @ApiModelProperty(value="分区",name="SjmcSysBillDetail$dt")
    @Excel(name = "分区")
    private Long dt;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setOperationId(Long operationId) 
    {
        this.operationId = operationId;
    }

    public Long getOperationId() 
    {
        return operationId;
    }
    public void setDt(Long dt) 
    {
        this.dt = dt;
    }

    public Long getDt() 
    {
        return dt;
    }

    public Integer getTeam() {
        if(team==null){
            return 0;
        }
        return team;
    }

    public void setTeam(Integer team) {
        this.team = team;
    }

    public Integer getActivation() {
        if(activation==null){
            return 0;
        }
        return activation;
    }

    public void setActivation(Integer activation) {
        this.activation = activation;
    }

    public BigDecimal getRecharge() {
        if(recharge==null){
            return new BigDecimal(0);
        }
        return recharge;
    }

    public void setRecharge(BigDecimal recharge) {
        this.recharge = recharge;
    }

    public BigDecimal getWithdraw() {
        if(withdraw==null){
            return new BigDecimal(0);
        }
        return withdraw;
    }

    public void setWithdraw(BigDecimal withdraw) {
        this.withdraw = withdraw;
    }

    public BigDecimal getPersonalPerformance() {
        if(personalPerformance==null){
            return new BigDecimal(0);
        }
        return personalPerformance;
    }

    public void setPersonalPerformance(BigDecimal personalPerformance) {
        this.personalPerformance = personalPerformance;
    }

    public BigDecimal getPersonalPush() {
        if(personalPush==null){
            return new BigDecimal(0);
        }
        return personalPush;
    }

    public void setPersonalPush(BigDecimal personalPush) {
        this.personalPush = personalPush;
    }

    public BigDecimal getTeamPerformance() {
        if(teamPerformance==null){
            return new BigDecimal(0);
        }
        return teamPerformance;
    }

    public void setTeamPerformance(BigDecimal teamPerformance) {
        this.teamPerformance = teamPerformance;
    }

    public BigDecimal getTeamRewards() {
        if(teamRewards==null){
            return new BigDecimal(0);
        }
        return teamRewards;
    }

    public void setTeamRewards(BigDecimal teamRewards) {
        this.teamRewards = teamRewards;
    }

    public BigDecimal getTeamLevelReward() {
        if(teamLevelReward==null){
            return new BigDecimal(0);
        }
        return teamLevelReward;
    }

    public void setTeamLevelReward(BigDecimal teamLevelReward) {
        this.teamLevelReward = teamLevelReward;
    }

    public BigDecimal getVcBalance() {
        if(vcBalance==null){
            return new BigDecimal(0);
        }
        return vcBalance;
    }

    public void setVcBalance(BigDecimal vcBalance) {
        this.vcBalance = vcBalance;
    }

    public BigDecimal getBalanceVc() {
        if(balanceVc==null){
            return new BigDecimal(0);
        }
        return balanceVc;
    }

    public void setBalanceVc(BigDecimal balanceVc) {
        this.balanceVc = balanceVc;
    }

    public BigDecimal getTransferBalance() {
        if(transferBalance==null){
            return new BigDecimal(0);
        }
        return transferBalance;
    }

    public void setTransferBalance(BigDecimal transferBalance) {
        this.transferBalance = transferBalance;
    }

    public BigDecimal getTransferVc() {
        if(transferVc==null){
            return new BigDecimal(0);
        }
        return transferVc;
    }

    public void setTransferVc(BigDecimal transferVc) {
        this.transferVc = transferVc;
    }

    public BigDecimal getTransferPc() {
        if(transferPc==null){
            return new BigDecimal(0);
        }
        return transferPc;
    }

    public void setTransferPc(BigDecimal transferPc) {
        this.transferPc = transferPc;
    }

    public BigDecimal getTransferOnline() {
        if(transferOnline==null){
            return new BigDecimal(0);
        }
        return transferOnline;
    }

    public void setTransferOnline(BigDecimal transferOnline) {
        this.transferOnline = transferOnline;
    }

    public BigDecimal getTransferOffline() {
        if(transferOffline==null){
            return new BigDecimal(0);
        }
        return transferOffline;
    }

    public void setTransferOffline(BigDecimal transferOffline) {
        this.transferOffline = transferOffline;
    }

    public BigDecimal getTransferFtc() {
        if(transferFtc==null){
            return new BigDecimal(0);
        }
        return transferFtc;
    }

    public void setTransferFtc(BigDecimal transferFtc) {
        this.transferFtc = transferFtc;
    }

    public BigDecimal getAssetGroupHandling() {
        if(assetGroupHandling==null){
            return new BigDecimal(0);//去除该属性的前后空格并进行非空非null判断
        }
        return assetGroupHandling;
    }

    public void setAssetGroupHandling(BigDecimal assetGroupHandling) {
        this.assetGroupHandling = assetGroupHandling;
    }

    public BigDecimal getProductGroupHandling() {
        if(productGroupHandling==null){
            return new BigDecimal(0);//去除该属性的前后空格并进行非空非null判断
        }
        return productGroupHandling;
    }

    public void setProductGroupHandling(BigDecimal productGroupHandling) {
        this.productGroupHandling = productGroupHandling;
    }

    public BigDecimal getReservedWalletIn() {
        if(reservedWalletIn==null){
            return new BigDecimal(0);
        }
        return reservedWalletIn;
    }

    public void setReservedWalletIn(BigDecimal reservedWalletIn) {
        this.reservedWalletIn = reservedWalletIn;
    }

    public BigDecimal getReservedWalletOut() {
        if(reservedWalletOut==null){
            return new BigDecimal(0);
        }
        return reservedWalletOut;
    }

    public void setReservedWalletOut(BigDecimal reservedWalletOut) {
        this.reservedWalletOut = reservedWalletOut;
    }

    public BigDecimal getReservedAvtiveVc() {
        if(reservedAvtiveVc==null){
            return new BigDecimal(0);
        }
        return reservedAvtiveVc;
    }

    public void setReservedAvtiveVc(BigDecimal reservedAvtiveVc) {
        this.reservedAvtiveVc = reservedAvtiveVc;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("recharge", getRecharge())
            .append("withdraw", getWithdraw())
            .append("personalPerformance", getPersonalPerformance())
            .append("personalPush", getPersonalPush())
            .append("teamPerformance", getTeamPerformance())
            .append("teamRewards", getTeamRewards())
            .append("teamLevelReward", getTeamLevelReward())
            .append("vcBalance", getVcBalance())
            .append("balanceVc", getBalanceVc())
            .append("transferBalance", getTransferBalance())
            .append("transferVc", getTransferVc())
            .append("transferPc", getTransferPc())
            .append("transferOnline", getTransferOnline())
            .append("transferOffline", getTransferOffline())
            .append("transferFtc", getTransferFtc())
            .append("assetGroupHandling", getAssetGroupHandling())
            .append("productGroupHandling", getProductGroupHandling())
            .append("reservedWalletIn", getReservedWalletIn())
            .append("reservedWalletOut", getReservedWalletOut())
            .append("reservedAvtiveVc", getReservedAvtiveVc())
            .append("operationId", getOperationId())
            .append("dt", getDt())
            .append("createTime", getCreateTime())
            .toString();
    }
}
